package com.gouwudai.gobbs.dao;

import com.gouwudai.gobbs.common.IPageList;
import com.gouwudai.gobbs.pojo.TbbsLogInfo;

public interface ILogInfoDAO
{

    /**
     * 保存日志信息.
     * 
     * @param opUser 操作用户
     * @param opContent 操作内容
     * @param opIp 操作用户的IP
     * @param logType 日志类型
     * 
     * @return Integer 新增日志信息的ID
     */
    public Integer saveLog(String opUser, String opIp, int logType,
            String opContent);

    /**
     * 保存分类、版面日志信息.
     * 
     * @param opUser 操作用户
     * @param classId 分类、版面ID
     * @param opContent 操作内容
     * @param opIp 操作用户的IP
     * @param logType 日志类型
     * 
     * @return Integer 新增日志信息的ID
     */
    public Integer saveClassLog(String opUser, String opIp, int classId,
            int logType, String opContent);

    /**
     * 保存分类、版面日志信息.
     * 
     * @param opUser 操作用户
     * @param classId 分类、版面ID
     * @param topicId 主题ID
     * @param opContent 操作内容
     * @param opIp 操作用户的IP
     * @param logType 日志类型
     * 
     * @return Integer 新增日志信息的ID
     */
    public Integer saveTopicLog(String opUser, String opIp, int classId,
            int topicId, int logType, String opContent);

    /**
     * 读取日志信息
     * @param id 主键
     * @return TbbsLogInfo 日志对象
     */
    public TbbsLogInfo load(Integer id);

    /**
     * 查询不是版面操作日志的日志
     * @param pageIndex
     * @param pageSize
     * @param sort
     * @return
     */
    public IPageList listPage(int pageIndex, int pageSize, String sort);

    /**
     * 查询版面日志
     * @param pageIndex
     * @param pageSize
     * @param sort
     * @return
     */
    public IPageList listPageByClassId(int classId, int pageIndex,
            int pageSize, String sort);

}